草庐IT

Java OutOfMemoryError 奇怪的行为

全部标签

c# - Mediatr 3.0 使用管道行为进行身份验证

着眼于使用新的Mediatr3.0功能管道行为进行身份验证/授权。您通常会根据消息或处理程序进行身份验证吗?我问的原因是我对处理程序进行了授权(与MVC中的Controller相同),但行为似乎不了解处理程序,所以我不确定这是否可能/合适。我可以为每条消息添加一个IAuthorisationRequired标记接口(interface),但是如果消息是一个通知/事件并且有多个处理程序,那么也许应该运行一些处理程序而不是其他处理程序。在执行实际工作的处理程序代码上检查身份验证确实感觉更好。希望能够在处理程序上放置一个[Authorize]属性,并使用一个行为来检查它(我目前正是这样做的,

c# - 您在使用 Excel Interop 时遇到的最烦人/最奇怪的事情是什么

在将ExcelInterop与.Net结合使用一段时间后,我对发生了多少“奇怪的事情”感到越来越恼火-例如我之前发布的这个问题-MyProblem.我明白这不是一个直接的问题,更多的是经验的合作,但我确实认为找出人们最大的烦恼/他们遇到的奇怪事情以及他们如何克服它们会有所帮助。这样我就可以找出我将来可能遇到的问题:)谢谢 最佳答案 对我来说,Excel互操作最烦人的功能是每次你做任何它都会在幕后创建COM对象,但这些都需要处理,否则当你调用Close().如果您错过了一个,通常很难找出位置。幸运的是我找到了这个thread在这里提出

c# - 当模棱两可地使用 IEnumerable 时,Linq 函数会给出奇怪的编译错误 - 可能的解决方法?

给定类似于以下的代码(在实际用例中有实现):classAnimal{publicboolIsHungry{get;}publicvoidFeed(){}}classDog:Animal{publicvoidBark(){}}classAnimalGroup:IEnumerable{publicIEnumeratorGetEnumerator(){thrownewNotImplementedException();}IEnumeratorIEnumerable.GetEnumerator(){thrownewNotImplementedException();}}classAnimalG

c# - Task.Wait 在 OperationCanceledException 情况下的意外行为

考虑以下代码:CancellationTokenSourcects0=newCancellationTokenSource(),cts1=newCancellationTokenSource();try{vartask=Task.Run(()=>{thrownewOperationCanceledException("123",cts0.Token);},cts1.Token);task.Wait();}catch(AggregateExceptionae){Console.WriteLine(ae.InnerException);}由于MSDN任务应处于Faulted状态,因为它的t

c# - Process.MainWindowHandle 的意外行为

我一直在努力理解Process.MainWindowHandle.根据MSDN;"主窗口是进程启动时创建的窗口。初始化后,可能会打开其他窗口,包括Modal和TopLevel窗口,但与进程关联的第一个窗口仍然是主窗口"(强调已添加)但是在调试时我注意到MainWindowHandle似乎改变了值...这是我没有预料到的,尤其是在查阅了上面的文档之后。为了确认行为,我创建了一个独立的WinForms应用程序,它带有一个计时器,每100毫秒检查一次“DEVENV”(VisualStudio)进程的MainWindowHandle。这是这个测试应用程序的有趣部分...IntPtroldHWn

c# - 如何在 PowerShell 中创建具有行为(方法)的真实对象?

可能这个问题以前有人回答过....但我还没有找到满足我需求的具体答案。顺便说一句,我正在使用PowerShell3嗯,我是PowerShell的新手,但作为C#开发人员我有很多经验,所以使用对象对我来说非常重要。所以我想知道是否有一种干净的方式在PowerShell脚本中应用OOP概念(当然不是全部,尽管那会很棒),因为例如,我想做一些具体的事情。注意:我知道我可以在PowerShell中编写C#代码来创建DTO,而且我可以在C#中创建PowerShell二进制模块,我过去曾这样做过,但我正在寻找的是现在能够在PowerShell中以面向对象的方式编写我的所有代码。我想做的事情:在Po

c# - 没有行开始和结束终止符的 Regex.Replace 有一些非常奇怪的效果......这里发生了什么?

在回答这个问题时C#RegexReplaceand*有人提出问题存在的原因。播放时我产生了以下代码:strings=Regex.Replace(".A.","\w*","B");Console.Write(s);这有输出:B.BB.B我知道0长度字符串在.字符前后匹配,但为什么A被2Bs替换。我可以将B.BBB.B理解为替换A或B.B.B任一侧的零长度字符串但实际结果让我感到困惑-任何帮助表示赞赏。或者正如AakashM所说:为什么Regex.Matches("A","\w*").Count等于2,而不是1或3? 最佳答案 \w后面

c# - 奇怪的系统.__佳能异常(exception)

我有一个使用单例类的Windows服务ThreadQueue.当服务启动时,它会调用ThreadQueue.Start()然后,此类接受任务并将其排队,将并发性限制为可配置的线程数。ThreadQueue.Start()在服务启动时被调用一次。有时,服务运行几个小时后,我会收到以下异常:Application:myservice.exeFrameworkVersion:v4.0.30319Description:Theprocesswasterminatedduetoanunhandledexception.ExceptionInfo:System.NullReferenceExcep

c# - Math.Floor(double) 和 Math.Ceiling(double) 的意外行为

这个问题是关于Math.Floor(double)和Math.Ceiling(double)决定给你上一个或下一个整数值的阈值。我很不安地发现阈值似乎与Double.Epsilon无关,它是可以用double表示的最小值。例如:doublex=3.0;Console.WriteLine(Math.Floor(x-Double.Epsilon));//expected2,got3Console.WriteLine(Math.Ceiling(x+Double.Epsilon));//expected4,got3即使将Double.Epsilon乘以一个合理的位也没有成功:Console.W

c# - 在 Entity Framework 5 Code First 中覆盖 SaveChanges 以复制旧遗留库的行为

我们公司发布了一套各种操作数据库中数据的应用程序。每个应用程序都有其特定的业务逻辑,但所有应用程序共享一个公共(public)的业务规则子集。常见的东西被封装在一堆用C++编写的遗留COMDLL中,它们使用“经典ADO”(它们通常调用存储过程,有时它们使用动态SQL)。这些DLL中的大多数都有基于XML的方法(更不用说基于专有格式的方法!)来创建、编辑、删除和检索对象,还有额外的操作,例如快速复制和转换许多实体的方法。中间件DLL现在很旧,我们的应用程序开发人员想要一个新的面向对象(而不是面向xml)的中间件,它可以被C#应用程序轻松使用。公司里的很多人说我们应该忘记旧的范式,转向新的